﻿/// <reference path="../jquery/jquery-1.3.2-vsdoc.js" />
/// <reference path="Complaint.Common.js" />

$(function() {
    $(".ui-icon-close").click(function(evt) {
        $(evt.target).parent().remove();
    });

    $("#categoryDialog").dialog({
        autoOpen: false,
        bgiframe: true,
        modal: true,
        maxHeight: 450,
        width: 400,
        buttons:
            {
                "Cancel": function() {
                    $(this).dialog("close");
                },
                "OK": function() {
                    processCategory();
                    $(this).dialog("close");
                }
            }
    });

    $("#addCategory").click(function(evt) {
        evt.preventDefault();
        $("#categoryDialog").load(Complaint.Common.SiteRoot + "/Category/", {},
                function() {
                    $("#categoryDialog").dialog("open");
                });
    });

    //hover states on the static widgets
    $("#addCategory, .ui-icon-close").hover(
					function() { $(this).addClass('ui-state-hover'); },
					function() { $(this).removeClass('ui-state-hover'); }
				);

});

var processCategory = function() {
    var selectedNodes = $.tree_reference("categoryTree").selected_arr;
    $(selectedNodes).each(function() {
        var selected = {
            id: $(this).attr("id"),
            title: $(this).children("a:eq(0)").text()
        };
        var del = $("<span class=\"ui-icon ui-icon-close\"></span>")
                                        .hover(
				                            function() { $(this).addClass('ui-state-hover'); },
				                            function() { $(this).removeClass('ui-state-hover'); }
			                            )
                                        .click(function(evt) {
                                            $(evt.target).parent().remove();
                                        });
        if ($("#categoryList").length > 0) {
            if ($("#categoryList").children("#" + selected.id).length == 0) {
                $("#categoryList").append(
                                    $("<li>" + selected.title + "</li>")
                                    .attr("id", selected.id)
                                    .append($(del))
                                );
            }
            //else
            //TODO: alert user category is already selected
        }
        else {
            list = $("<ul />")
                .attr("id", "categoryList")
                .addClass("button_list");
            $(list).append(
                                    $("<li>" + selected.title + "</li>")
                                    .attr("id", selected.id)
                                    .append($(del))
                                );
            $("#category > p#noItemsMsg").replaceWith($(list));
        }
    });
}